DICOM and DICOMweb
DICOM (Digital Imaging and Communications in Medicine) is the standard for medical images and the information around them. It is unusual among health standards in being both a file format and a network protocol, and in being close to universally implemented — essentially every imaging device made in the last thirty years speaks it.
- Tier 1 · DICOM Standards Committee (NEMA) · https://www.dicomstandard.org/ The full standard is published free of charge at https://dicom.nema.org/medical/dicom/current/output/html/part01.html
The data model
Four levels, in this order. Understanding this hierarchy resolves most confusion about imaging integration.
Patient
└── Study one imaging procedure — "CT chest, 2026-03-04"
└── Series one acquisition within it — "axial, contrast phase"
└── Instance one image (or one structured report, or one
segmentation object)
Each level has a globally unique identifier (a UID — a dotted numeric OID). Study Instance UID, Series Instance UID and SOP Instance UID are the addresses of imaging data everywhere.
Attributes and tags. Metadata lives in tagged elements — (0010,0010) is
Patient Name, (0008,0060) is Modality. Every image file carries the patient
and study context inside it, which is why a stray DICOM file is a personal data
incident and a stray JPEG usually is not.
Not just images. DICOM also carries Structured Reports (SR), radiotherapy objects, segmentations, presentation states, key object selections and waveforms. AI output is commonly returned as an SR or a segmentation object rather than a burned-in annotation.
The classic network services
The DIMSE protocol, running over TCP, with services still ubiquitous in hospitals:
| Service | Does |
|---|---|
| C-STORE | Send an instance to another node (a scanner pushing to PACS) |
| C-FIND | Query for studies matching criteria |
| C-MOVE / C-GET | Retrieve instances |
| Modality Worklist (MWL) | The scanner asks "who am I imaging next?" — fed from the RIS or EMR order |
| MPPS | Modality Performed Procedure Step — reports what actually happened |
| Storage Commitment | The archive confirms it has taken custody, so the modality may delete |
Application Entity Titles (AE Titles) identify nodes, and association negotiation establishes which transfer syntaxes both ends support. This is manual configuration on both sides — a fact worth knowing before promising a same-day integration.
Modality Worklist is the integration that matters most clinically. Without it, a radiographer types the patient's details at the console, and every typo becomes an unmatched study that a human has to reconcile later. Feeding MWL from the ordering system is the single highest-value imaging integration in most hospitals.
DICOMweb
The RESTful re-expression of those services, over HTTPS, with JSON or XML metadata. This is what a modern architecture integrates against.
| Service | Method | Purpose |
|---|---|---|
| QIDO-RS | GET /studies?PatientID=… | Query for studies, series, instances |
| WADO-RS | GET /studies/{uid} | Retrieve instances, metadata, rendered frames |
| STOW-RS | POST /studies | Store instances |
| UPS-RS | Worklist as a REST service |
DICOMweb is what makes zero-footprint web viewers, cloud archives and imaging AI pipelines practical. It removes the AE Title configuration problem and lets imaging traffic pass through ordinary API gateways with ordinary OAuth authorisation.
Where imaging sits in the architecture
Ordering system (EMR / RIS)
│ order (HL7 v2 ORM / FHIR ServiceRequest)
▼
┌──────────────┐ MWL ┌───────────┐
│ RIS / order │─────────▶│ Modality │ (CT, MRI, ultrasound, X-ray)
│ broker │ └─────┬─────┘
└──────────────┘ │ C-STORE / STOW-RS
▼
┌───────────────┐
│ PACS / VNA │ long-term archive
└───┬───────┬───┘
WADO-RS │ │ DICOMweb
┌─────────────┘ └──────────────┐
▼ ▼
┌────────────────┐ ┌─────────────────┐
│ Viewer │ │ AI inference │
│ (web / thick) │ │ service │
└────────────────┘ └────────┬────────┘
│ SR / segmentation
▼
back to PACS, and
FHIR ImagingStudy /
DiagnosticReport to the EMR
The FHIR boundary. Images stay in DICOM; the record that they exist goes
to FHIR. ImagingStudy references the study by UID and endpoint;
DiagnosticReport carries the radiologist's report; ServiceRequest carries
the order. Do not attempt to put pixel data in FHIR resources.
VNA (Vendor Neutral Archive) is an architectural pattern, not a standard: a PACS-independent archive so that changing the viewer or the departmental system does not require migrating decades of images. In an ecosystem where PACS contracts turn over and images must be retained for decades, it is usually the right structure.
Design concerns
| Concern | Notes |
|---|---|
| Volume | A CT study is hundreds of megabytes; a digital pathology slide can be gigabytes. Storage growth is the dominant infrastructure cost in imaging. |
| Retention | Legally defined and long — often the lifetime of the patient. Tiered storage is not optional at scale. |
| Patient identity | Studies arrive with locally typed demographics. Reconciliation against the client registry is a permanent operational function, not a migration task. |
| De-identification | Requires more than clearing the obvious tags: private tags, burned-in pixel annotations, and the UID structure itself can re-identify. Follow DICOM PS3.15 Annex E rather than improvising. |
| Security | Classic DIMSE has weak native security; it is usually protected by network isolation. DICOMweb over TLS with token auth is the safer modern path. |
| Compression | Lossy compression of diagnostic images is a clinical safety decision with regulatory implications, not a storage optimisation. |
Open-source tooling
| Project | Role |
|---|---|
| Orthanc | Lightweight DICOM server with a strong REST and DICOMweb API; the usual starting point for small deployments and research |
| dcm4che / dcm4chee-arc | Full-featured Java DICOM archive and toolkit, used in production at scale |
| OHIF Viewer | Web-based zero-footprint viewer, DICOMweb-native |
| pydicom | Python library for reading and manipulating DICOM |
| DCMTK | C++ toolkit and command-line utilities |
| Cornerstone.js | JavaScript imaging rendering library, underpins several viewers |
All Tier 2. Managed DICOM stores are available from the major cloud providers — see AWS, Azure and GCP.
References
- DICOM standard (current edition, free) — https://www.dicomstandard.org/current
- DICOMweb — https://www.dicomstandard.org/using/dicomweb
- DICOM PS3.15 Security and System Management Profiles — https://dicom.nema.org/medical/dicom/current/output/html/part15.html
- FHIR
ImagingStudy— https://hl7.org/fhir/imagingstudy.html - Orthanc — https://www.orthanc-server.com/
- dcm4che — https://www.dcm4che.org/
- OHIF — https://ohif.org/
- pydicom — https://pydicom.github.io/